program main

    interface
        subroutine calc(x) bind(c, name='calc_')
            use, intrinsic :: iso_c_binding, only: c_float
            real(c_float), intent(in) :: x(*)
        end subroutine calc
    end interface

    real(4) :: x(2, 3) = reshape([1., 2., 3., 4., 5., 6.], shape(x))

    call calc(x)

end program main
